package com.ktwlsoft.archivemanage.domain.dao.repository.guiBusiness;

import java.util.List;

import com.ktwlsoft.archivemanage.payload.businessGuidance.InstructorResult;
import com.ktwlsoft.archivemanage.payload.guiBusiness.GuiBusinessPageRequest;
import com.ktwlsoft.archivemanage.domain.dao.entity.guiBusiness.GuiBusinessGuidance;
import org.apache.ibatis.annotations.Mapper;

/**
 * 业务指导
 *
 * @author zhuhe on 2020-03-12 14:07:50
 * @version 1.0
 */
@Mapper
public interface IGuiBusinessGuidanceMapper {

    /**
     * 查询列表 on 2020-03-12 14:07:50
     *
     * @param guiBusinessPageRequest guiBusinessPageRequest
     * @return List<GuiBusinessGuidance>
     */
    List<GuiBusinessGuidance> findList(GuiBusinessPageRequest guiBusinessPageRequest);

    /**
     * 查询列表 on 2020-03-12 14:07:50
     *
     * @param guiBusinessPageRequest guiBusinessPageRequest
     * @return List<GuiBusinessGuidance>
     */
    List<GuiBusinessGuidance> userFindList(GuiBusinessPageRequest guiBusinessPageRequest);

    /**
     * 根据id查询信息 on 2020-03-12 14:07:50
     *
     * @param id id
     * @return GuiBusinessGuidance
     */
    GuiBusinessGuidance getById(Long id);

    /**
     * 根据指导单号查询信息 on 2020-03-12 14:07:50
     *
     * @param guidanceNum guidanceNum
     * @return GuiBusinessGuidance
     */
    List<GuiBusinessGuidance> getByGuidanceNum(String guidanceNum);

    /**
     * 根据id删除信息 on 2020-03-12 14:07:50
     *
     * @param id id
     * @return int
     */
    int deleteById(Long id);

    /**
     * 根据id集合批量删除信息 on 2020-03-12 14:07:50
     *
     * @param ids ids
     * @return int
     */
    int deleteByIds(List<Long> ids);

    /**
      * 批量恢复 on 2020/4/13 10:47
      *
      * @param ids ids
      * @return int
      */
    int restore(List<Long> ids);

    /**
     * 插入 on 2020-03-12 14:07:50
     *
     * @param guiBusinessGuidance guiBusinessGuidance
     * @return int
     */
    int insert(GuiBusinessGuidance guiBusinessGuidance);

    /**
     * 批量插入 2020-03-12 14:07:50
     *
     * @param list list
     * @return int
     */
    int manyInsert(List<GuiBusinessGuidance> list);

    /**
     * 更新 on 2020-03-12 14:07:50
     *
     * @param guiBusinessGuidance guiBusinessGuidance
     * @return int
     */
    int update(GuiBusinessGuidance guiBusinessGuidance);

    List<InstructorResult> getInstructorList();

    /**
     * 获取当前指导人已上报条数
     *
     * @param userId userId
     * @return int
     */
    String getRecorderMount(Long userId);
}
